<html>

<head>
  <title>application accessible name</title>
  <link rel="stylesheet" type="text/css" 
         href="chrome://mochikit/content/tests/SimpleTest/test.css" />
  <script type="application/javascript" 
          src="chrome://mochikit/content/tests/SimpleTest/SimpleTest.js"></script>

  <script type="application/javascript" 
          src="../common.js"></script>
  <script type="application/javascript" 
          src="../role.js"></script>

  <script type="application/javascript">
    function doTest()
    {
      var accessible = getApplicationAccessible();
      if (!accessible) {
        SimpleTest.finish();
        return;
      }

      var bundleServ =
        Components.classes["@mozilla.org/intl/stringbundle;1"].
        getService(Components.interfaces.nsIStringBundleService);
      var brandBundle =
        bundleServ.createBundle("chrome://branding/locale/brand.properties");

      var appInfo = Components.classes["@mozilla.org/xre/app-info;1"].
        getService(Components.interfaces.nsIXULAppInfo);

      // nsIAccessible::name
      var applicationName = "";
      if (LINUX || SOLARIS) {
        applicationName = appInfo.name;
      } else {
        try {
          applicationName = brandBundle.GetStringFromName("brandShortName");
        } catch(e) {
        }

        if (applicationName == "")
          applicationName = "Gecko based application";
      }
      is (accessible.name, applicationName, "wrong application accessible name");

      // nsIAccessibleApplication
      is(accessible.appName, appInfo.name, "Wrong application name");
      is(accessible.appVersion, appInfo.version, "Wrong application version");
      is(accessible.platformName, "Gecko", "Wrong platform name");
      is(accessible.platformVersion, appInfo.platformVersion,
         "Wrong platform version");

      SimpleTest.finish();
    }

    SimpleTest.waitForExplicitFinish();
    addA11yLoadEvent(doTest);
  </script>
  </head>
  <body>
  <a target="_blank"
     href="https://bugzilla.mozilla.org/show_bug.cgi?id=456121"
    title="nsApplicationAccessible::GetName does not return a default value when brand.properties does not exist">
    Mozilla Bug 454211
  </a>

  <p id="display"></p>
  <div id="content" style="display: none"></div>
  <pre id="test">
  </pre>

  </body>
</html>
